Welcome Guest, you are in: Login
CTS Futures

Page History: New Order List

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2013/02/27 17:52



Submitting Orders with Multiple Components

The New Order List message (MsgType=E) is used by the T4 FIX API to electronically submit (multiple-component) orders to an exchange for execution. Orders with multiple components are also known as Batch Orders. They are identified by its Contingency Type (Tag 1385). Batch orders can only contain (constituent) orders for the same account and market. The New Order List is built by specifying its ContingencyType (Tag 1385), target instrument (Tags 48, 55, 207, 167), account (Tag 1) and by adding each individual order to the TotNoOrders repeating group (Tag 68).

This message is used for all strategy types including outright futures, futures options, spreads and multileg strategies. The instrument for which the order is submitted is identified with the following tags: Tag 48 (SecurityID), Tag 55 (Symbol), Tag 207 (SecurityExchange) and Tag 167 (SecurityType). Options orders must also include the Strike Price (Tag 202) and the PutOrCall indicator (Tag 201). Lists of tradeable securities can be requested with the Security Definition Request message (MsgType=c).

The Order List must be identified by an unique ListID (Tag 66). In addition, all constituent orders must be uniquely identified with a verbose (>12 characters) Client Order Id (Tag 11). The subscribed account (Tag 1) for which the order is submitted must also be provided.

Malformed order messages (including missing required tags, empty tags, invalid tag value range, etc.) will be rejected with a FIX Session Reject message. Order composition errors are identified with rejection Execution Reports (Tag 150=8).

Order Types with multiple Components
The T4 FIX API offers the following non-standard Special Order types which carry multiple components:

* OCO Order

* AutoOCO Order

* Spark

* Synthetic



Order Definition Fields
The most common selectable fields for the New Order List message include:

TagTag Number
ContingencyType1385
TriggerPrice10101
Order Quantity38
Side54
Order Type40
Price44
Stop Price99
Put Or Call201
Strike Price202
Time In Force59


Other Fields
In addition, batch orders may also cover the following input parameters:

TagTag NumberComments
MaxShow210For Icebergs
TrailingDelta10100For Trailing Stops
Activation Type10102For Queue and Activation orders
Activation Value10103For Activation orders

Account Subscription

All order routing including the submission of new orders, cancel-replaces and cancels must be preceded by a successful subscription to the account the order is submitted for. By default, all user accounts are automatically subscribed to. To disable automatic subscription to all user accounts, refer to the Logon message (with Tag 372=BB). Note that if AutoSubscription is turned off, account subscriptions must be explicitly requested with the Collateral Inquiry message.


Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = E
66ListIDYUnique identifier for the order list. All constituent order will carry this identifier.
1385ContingencyTypeYIndicates the type of multiple-order dependency. The valid values are:
1 = OCO
2 = Auto OCO
3 = Spark
4 = Synthetic 6 = Chains-->
1AccountYAccount for which the order is submitted.
48SecurityIDYSecurity identifier. This is the T4 Market ID.
55SymbolYSymbol. This is the T4 Contract ID.
207SecurityExchangeYExchange at which the security trades. This is the T4 Exchange ID.
167SecurityTypeYInstrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN"
201PutOrCallNFor Options. Indicates whether an Option is for a Put or Call. Valid values are:
0 = Put
1 = Call
202StrikePriceNFor Options. Indicates the Strike Price of the Option.
200MaturityMonthYearNFor Options. Indicates the Strike Price of the Option.
394 BidTypeNCode to identify the type of Bid Request. Valid values are:
0 = Non-Disclosed (US/Europe)
1 = Disclosed (Japan)
2 = None (Default)
433 ListExecInstTypeNIdentifies the type of ListExecInst (Tag 69). Valid values are:
1 = Immediate (Default)
2 = Wait for Execution instructions (off-line or through ListExecute message Tag 35=L)
69 ListExecInstNFree format text message containing list handling and execution instructions.
1028ManualOrderIndicatorNIndicates if the order was sent manually. Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
68NoTotOrdersYNumber of constituent orders to follow:
Start Repeating Group
11ClOrdIdYUnique (Client-Side Order) identifier (ID) for this component
54SideYSide of the market. Valid values are:
0 = None (used for Flatten orders)
1 = Buy
2 = Sell
38OrderQtyYThe total number of contracts to be executed. Use "0" for OCO components of an AutoOCO. Use "0" (zero) for Flatten orders.
110MinQtyNMinimum quantity of an order to be executed. Only supported by certain exchanges.
210MaxShowNMaximum quantity of order contracts to be shown to other market participants. Only supported by certain exchanges.
40OrdTypeYOrder Type (in reference to Price). The valid values for Order Type (Tag 40) are:
1 = Market
2 = Limit
3 = Stop
4 = Stop Limit
J = Market If Touched
F = Flatten
N = Join
H = Hit
44PriceNOrder Price. Required for Limit, Stop-Limit and Market-if-Touched order types. AutoOCO: Value is relative from the Trigger Price (Tag 10101).
99StopPxNStop Order Price. Required for Stops and Stop-Limit order types. AutoOCO: Value is relative from the Trigger Price (Tag 10101). Negative value is allowed.
59TimeInForceYSpecifies how long the order remains in effect. Valid values are:
0 = Day
1 = Good Til Cancel
3 = Immediate Or Cancel
4 = Fill Or Kill
21HandlInstYInstructions for order handling on Broker trading floor. Valid values are:
0 = Customer
1 = Firm
58TextNFree form Text.
60TransactTimeYTime this order was requested for. Specified in UTC form.
77OpenCloseNIndicates whether the resulting position (after a trade) should be an opening position or closing position.
O = Open
C = Close
10100TrailingDeltaNPrice amount by which a Stop order will trail the current market. Only used for Trailing Stops.
10101TriggerPriceNThe Price at which the batch order will trigger the submittal of (suspended) constituent components.
10102ActivationTypeNType of Activation orders to be submitted. Refer to T4 User Guide for details on Activation Order types. The valid values are:
1 = Immediate
2 = At Or Above Trade Price
3 = At Or Below Trade Price
4 = On Market Mode
5 = At or After Time
6 = Queue
10103ActivationValueNCondition associated with Activation Type. Multiple values are delineated by a colon (";"). Refer to T4 API Guide for Activation Value rules.
End Repeating Group
Standard TrailerY


Sample Messages

Simple Outright Order


>> 12/11/2012 2:16:17 PM   [FIXNEWORDER] 34=52|49=T4Example|56=T4|50=TraderName|52=20121211-20:16:17.874|1=Account1|11=fn-634908321778744001|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=141400|59=0|167=FUT|21=1|60=20121211-20:16:17.874|204=0|

[MsgSeqNum] 34 = 52
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121211-20:16:17.874
[Account] 1 = Account1
[ClOrdID] 11 = fn-634908321778744001
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 141400
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121211-20:16:17.874
[CustomerOrFirm] 204 = 0 (CUSTOMER)


Simple Outright Order - Successful Response

<< 12/11/2012 2:16:17 PM  [fixexecutionreport] 34=218|49=T4|56=T4Example|50=T4FIX|52=20121211-20:16:17.952|143=US,IL|1=Account1|11=fn-634908321778744001|17=48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093|150=0|37=BD1E7093-EF2C-439D-AEBA-0092A03F17ED|39=0|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|200=201212|59=0|107=E-mini S&P 500 Dec12|54=1|167=FUT|38=1|40=2|44=141400|60=20121211-20:16:34.491|

[MsgSeqNum] 34 = 218
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121211-20:16:17.952
[TargetLocationID] 143 = US,IL
[Account] 1 = Account1
[ClOrdID] 11 = fn-634908321778744001
[ExecID] 17 = 48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093
[ExecType] 150 = 0 (NEW)
[OrderID] 37 = BD1E7093-EF2C-439D-AEBA-0092A03F17ED
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201212
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Dec12
[Side] 54 = 1 (BUY)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 141400
[TransactTime] 60 = 20121211-20:16:34.491

For a description and samples of other multiple-component order types, please refer to the T4 FIX API Order Routing sidebar.

FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

2 Pierce Pl, Suite 200, Itasca, IL 60143

© 2009-2023 Cunningham Trading Systems LLC All rights reserved.